📚 node [[convolution|convolution]]
Welcome! Nobody has contributed anything to 'convolution|convolution' yet. You can:
  • Write something in the document below!
    • There is at least one public document in every node in the Agora. Whatever you write in it will be integrated and made available for the next visitor to read and edit.
  • Write to the Agora from social media.
    • If you follow Agora bot on a supported platform and include the wikilink [[convolution|convolution]] in a post, the Agora will link it here and optionally integrate your writing.
  • Sign up as a full Agora user.
    • As a full user you will be able to contribute your personal notes and resources directly to this knowledge commons. Some setup required :)
⥅ related node [[cnns convolutional neural networks]]
⥅ related node [[convolution]]
⥅ related node [[convolutional_filter]]
⥅ related node [[convolutional_layer]]
⥅ related node [[convolutional_neural_network]]
⥅ related node [[convolutional_operation]]
⥅ related node [[depthwise_separable_convolutional_neural_network_(sepcnn)]]
⥅ node [[convolution]] pulled by Agora

convolution

Go back to the [[AI Glossary]]

#image

In mathematics, casually speaking, a mixture of two functions. In machine learning, a convolution mixes the convolutional filter and the input matrix in order to train weights.

The term "convolution" in machine learning is often a shorthand way of referring to either convolutional operation or convolutional layer.

Without convolutions, a machine learning algorithm would have to learn a separate weight for every cell in a large tensor. For example, a machine learning algorithm training on 2K x 2K images would be forced to find 4M separate weights. Thanks to convolutions, a machine learning algorithm only has to find weights for every cell in the convolutional filter, dramatically reducing the memory needed to train the model. When the convolutional filter is applied, it is simply replicated across cells such that each is multiplied by the filter.

⥅ node [[convolutional_filter]] pulled by Agora

convolutional filter

Go back to the [[AI Glossary]]

#image

One of the two actors in a convolutional operation. (The other actor is a slice of an input matrix.) A convolutional filter is a matrix having the same rank as the input matrix, but a smaller shape. For example, given a 28x28 input matrix, the filter could be any 2D matrix smaller than 28x28.

In photographic manipulation, all the cells in a convolutional filter are typically set to a constant pattern of ones and zeroes. In machine learning, convolutional filters are typically seeded with random numbers and then the network trains the ideal values.

⥅ node [[convolutional_layer]] pulled by Agora

convolutional layer

Go back to the [[AI Glossary]]

#image

A layer of a deep neural network in which a convolutional filter passes along an input matrix. For example, consider the following 3x3 convolutional filter:

 A 3x3 convolutional layer

The following animation shows a convolutional layer consisting of 9 convolutional operations involving the 5x5 input matrix. Notice that each convolutional operation works on a different 3x3 slice of the input matrix. The resulting 3x3 matrix (on the right) consists of the results of the 9 convolutional operations:

An animation of a convolutional filter moving across a convolutional layer

⥅ node [[convolutional_neural_network]] pulled by Agora

convolutional neural network

Go back to the [[AI Glossary]]

#image

A neural network in which at least one layer is a convolutional layer. A typical convolutional neural network consists of some combination of the following layers:

convolutional layers
pooling layers
dense layers

Convolutional neural networks have had great success in certain kinds of problems, such as image recognition.

⥅ node [[convolutional_operation]] pulled by Agora

convolutional operation

Go back to the [[AI Glossary]]

#image

The following two-step mathematical operation:

Element-wise multiplication of the convolutional filter and a slice of an input matrix. (The slice of the input matrix has the same rank and size as the convolutional filter.)
Summation of all the values in the resulting product matrix.

For example, consider the following 5x5 input matrix:

A 5x5 convolutional matrix

Now imagine the following 2x2 convolutional filter:

A 2x2 convolutional filter

Each convolutional operation involves a single 2x2 slice of the input matrix. For instance, suppose we use the 2x2 slice at the top-left of the input matrix. So, the convolution operation on this slice looks as follows:

A single convolutional operation

A convolutional layer consists of a series of convolutional operations, each acting on a different slice of the input matrix.

📖 stoas
⥱ context